package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 公示公告，汇集和维护所内管理实务对象 swgl_announcement
 *
 * @author ruoyi
 * @date 2022-07-06
 */
public class SwglAnnouncement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公告id—唯一标识 */
    @Excel(name="公告编号")
    private String annouceId;

    /** 公告具体内容 */
    @Excel(name = "公告具体内容")
    private String annouceInfo;

    /** 公告标题 */
    @Excel(name = "公告标题")
    private String annouceTitle;

    /** 公告类型：{00:公告；01:通知；02:通报；03:员工意见} */
    @Excel(name = "公告类型：{00:公告；01:通知；02:通报；03:员工意见}")
    private String annouceType;

    /** 是否展示：{0：不展示；1：展示} */
    @Excel(name = "是否展示：{0：不展示；1：展示}")
    private String isShow;

    /** 是否删除{0：停用；1：未停用} */
    private String deleteFlag;

    /** 紧急层级 { 01:红色 ；02 ：黄色} */
    @Excel(name = "紧急层级 { 01:紧急 ；02 ：普通}")
    private String emergencyLevel;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 供电单位编码 */
    @Excel(name = "供电单位编码")
    private String orgNo;

    /** 数量统计*/
    private String  num;

    /**创建人名称*/
    private String creatorName;

    /**供电所名称*/
    @Excel(name = "供电所名称")
    private String orgName;

    /** 公告文件 */
    @Excel(name = "公告文件")
    private String announceFile;


    /** 公告文件名称 */
    @Excel(name = "公告文件名称")
    private String fileName;

    private List<NoticeReadVo> noticeReadVos;

    public List<NoticeReadVo> getNoticeReadVos() {
        return noticeReadVos;
    }

    public void setNoticeReadVos(List<NoticeReadVo> noticeReadVos) {
        this.noticeReadVos = noticeReadVos;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getAnnouceId() {
        return annouceId;
    }

    public void setAnnouceId(String annouceId) {
        this.annouceId = annouceId;
    }

    public void setAnnouceInfo(String annouceInfo)
    {
        this.annouceInfo = annouceInfo;
    }

    public String getAnnouceInfo()
    {
        return annouceInfo;
    }
    public void setAnnouceTitle(String annouceTitle)
    {
        this.annouceTitle = annouceTitle;
    }

    public String getAnnouceTitle()
    {
        return annouceTitle;
    }
    public void setAnnouceType(String annouceType)
    {
        this.annouceType = annouceType;
    }

    public String getAnnouceType()
    {
        return annouceType;
    }
    public void setIsShow(String isShow)
    {
        this.isShow = isShow;
    }

    public String getIsShow()
    {
        return isShow;
    }
    public void setDeleteFlag(String deleteFlag)
    {
        this.deleteFlag = deleteFlag;
    }

    public String getDeleteFlag()
    {
        return deleteFlag;
    }
    public void setEmergencyLevel(String emergencyLevel)
    {
        this.emergencyLevel = emergencyLevel;
    }

    public String getEmergencyLevel()
    {
        return emergencyLevel;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setOrgNo(String orgNo)
    {
        this.orgNo = orgNo;
    }

    public String getOrgNo()
    {
        return orgNo;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public void setAnnounceFile(String announceFile)
    {
        this.announceFile = announceFile;
    }

    public String getAnnounceFile()
    {
        return announceFile;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("annouceId", getAnnouceId())
                .append("annouceInfo", getAnnouceInfo())
                .append("annouceTitle", getAnnouceTitle())
                .append("annouceType", getAnnouceType())
                .append("isShow", getIsShow())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("deleteFlag", getDeleteFlag())
                .append("emergencyLevel", getEmergencyLevel())
                .append("endTime", getEndTime())
                .append("orgNo", getOrgNo())
                .append("announceFile", getAnnounceFile())
                .toString();
    }
}
